This course is a comprehensive introduction to AI and Machine Learning, targeting Data Scientists and Machine Learning engineers. It starts with setting the boundaries of Artificial Intelligence, Machine Learning, Deep Learning, and their relation to Data Science. What is expected as a member an AI team, and how to speak the same language. What is possible and what is not, and what defines a good AI project. The basics of supervised learning are covered, including the main ingredients of the Machine Learning problem, and the different solution setups. We cover both Linear models (Linear Regression, Logistic Regression, Support Vector Machines (SVM)) and Non-linear models (Polynomial Regression, Kernel SVM, Deep Neural Networks (DNN)). A universal approach is given to tackle any ML problem in a systematic way, covering data preparation, Exploratory Data Analysis (EDA), Model selection, Model evaluation, Model design, Fine tuning and Regularization. An end-to-end is given to illustrate this process with code in Google Colab Notebooks. We also cover the Machine Learning Meta algorithms and Ensemble methods: Voting, BAGGing, Boosting Decision Trees and Random Forests. Finally, we introduce unsupervised learning, covering dimensionality reduction algorithms, like Manifold Learning like Locally Linear Embedding (LLE) and Projection methods like Principal Component Analysis (PCA) and Clustering, like K-Means. Throughout the course, Python language is used. Popular Machine Learning libraries are used, like scikit-learn, in addition to pandas and keras.
Pre-requisities
Python
Probability
Linear Algebra
Topics Covered
Traditional programming vs. Statistical learning
AI vs. Machine learning vs. Deep learning
Different ML types: Supervised learning vs. Unsupervised learning vs. Self-supervised learning vs. Reinforcement learning
Linear models: Linear Regression, Logistic Regression, SVM
Non-Linear Classifiers: Polynomial Regression, Kernel SVM, Deep Neural Networks
Universal ML process: hyperparameters tuning, Regularization, Overfitting and underfitting
Evaluation protocols: Model Selection, Sampling, CrossValidation, Bootstrapping
Meta-Algorithms: Model Ensembles, Voting, BAGGing, Boosting, DecisionTrees, RandomForests
Unsupervised learning: clustering and dimensionality reduction
What you will learn
Build solid knowledge necessary for data scientists about AI, Machine Learning and Deep Learning
Understand the basics and underlying dynamics of supervised learining models: LinearRegression, LogisiticRegression, SVM, DNN, DecisionTrees and RandomForests.
Get introduced to unsupervised learning approaches for dimensionality reduction and clustering.
Build practical Machine Learning models and pipelines using python, scikit-learn, pandas, keras and tensorflow
Solve practical problems like image classification, text classification, price prediction.
Deep Learning for Natural Language Processing
In this course, we will dive into the world of Natural Language Processing. We will demonstrate how Deep Learning has re-shaped this area of Artificial Intelligence using concepts like word vectors and embeddings, strucutured deep learning, collaborative filtering, recurrent neural networks, sequence-to-sequence models and transformer networks. In our journey, we will be mostly concerned with how to represent the language tokens, being at the word or character level, and and how to represent their aggregation, like sentences or documents, in a semantically sound way. We start the journey by going through the traditional pipeline of text pre-processing and the different text features like binary and TF-IDF features with the Bag-of-Words model. Then we will dive into the concepts of word vectors and embeddings as a general deep learning concept, with detailed discussion of famous word embedding techniques like word2vec, GloVe, Fasttext and ELMo. This will enable us to divert into recommender systems, using collaborative filtering and twin-tower model as an example of the generic usage of embeddings beyond word representations. In the second part of the course, we will be concerned with sentence and sequence representations. We will tackle the core NLP of Langauge Modeling, at statistical and neural levels, using recurrent models, like LSTM and GRU. In the following part, we tackle sequence-to-sequence models, with the flagship NLP task of Machine Translation, which paves the way to talk about many other tasks under the same design seq2seq pattern, like Question-Answering and Chatbots. We present the core idea idea of Attention mechanisms with recurrent seq2seq, before we generalize it as a generic deep learning concept. This generalization leads to the to the state-of-the art Transformer Network, which revolutionized the world of NLP, using full attention mechanisms. In the final part of the course, we present the ImageNet moment of NLP, where Transfer Learning comes into play together with pre-trained Transfomer architectures like BERT, GPT 1-2-3, RoBERTa, ALBERT, XLTransformer and XLNet.
Pre-requisities
Python
Probability
Linear Algebra
Machine Learning
Topics Covered
Introduction to NLP
DL in NLP: Bag-of-Words models
Word Vectors and Word Embeddings
Pre-trained word embeddings: Word2Vec, GloVe, ELMo, Fasttext
Language Modeling: Statistical Language Models (SLM) and Neural Language Models (NLM)
Seq2seq models for Neural Machine Translation (NMT), Question-Answering (QA) and Chatbots
Transfomer Models for NMT
Transfer Learning in NLP: ULMFiT, BERT, GPT, XLNet
What you will learn
Build solid understanding of NLP traditional and Deep Learning techniques
Practice DL NLP in real problems like sentiment classification, machine translation, chatbots and question-answering
Build solid understanding of state-of-the art NLP models like BERT and GPT
Understand the evolution of DL NLP word and sentence embedding models using word2vec, GloVe, Fasttext, ELMo, BERT
Master the use of Transfer Learning in modern NLP models
Generative AI (Arabic)
Hello and Welcome to a new Journey in the vast area of Generative AI
Generative AI is changing our definition of the way of interacting with machines, mobiles and computers. It is changing our day-to-day life, where AI is an essential component.
This new way of interaction has many faces: the good, the bad and the ugly.
In this course we will sail in the vast sea of Generative AI, where we will cover both the theoretical foundations of Generative models, in different modalities mappins: Txt2Txt, Img2Txt, Txt2Img, Img2Txt and Txt2Voice and Voice2Text. We will discuss the SoTA models in each area at the time of this course. This includes the SoTA technology of Transformers, Language models, Large LM or LLM like Generative Pre-trained Transformers (GPT), paving the way to ChatGPT for Text Generation, and GANs, VAE, Diffusion models like DALL-E and StabeDiffusion for Image Generation, and VALL-E foe Voice Generation.
In addition, we will cover the practical aspects, where we will build simple Language Models, Build a ChatGPT clone using OpenAI APIs where we will take a tour in OpenAI use cases with GPT3.5 and ChatGPT and DALL-E. In addition we will cover Huggingface transformers and StableDiffusion.
Hope you enjoy our journey!
Generative AI definition, areas of applications, mappings like txt2txt, img2txt, txt2img and txt2voice
How ChatGPT works, and the underlying tech behind like GPT, Large-Scale Language Models (LLM) and Transformers
How Latent Diffusion, StableDiffusion and DALL-E systems work
Generative Adversarial Networks (GANs) and Variational Auto Encoder (VAE)
The good, bad and ugly faces of GenAI, and how to adapt to the new tech
Build ChatGPT clone using OpenAI API and Streamlit
Build NLP applications using OpenAI API like Summarization, Text Classification and fine tuning GPT models
Build NLP applications using Huggingface transformers library like Language Models, Summarization, Translation, QA systems and others
Build Midjourney clone application using OpenAI DALL-E and StableDiffusion on Huggingface
Basics of Practical GenAI (Arabic)
This is part 1 of the Practical GenAI Sequel.
The objective of the sequel is to prepare you to be a professional GenAI engineer/developer. I will take you from the ground-up in the realm of LLMs and GenAI, starting from the very basics to building working and production level apps.
The spirit of the sequel is to be “hands-on”. All examples are code-based, with final projects, built step-by-step either in python, Google Colab, and deployed in streamlit.
By the end of the courses sequel, you will have built chatgpt clone.
We will cover prompt engineering approaches, and use them to build custom apps, that go beyond what ChatGPT knows. We will use OpenAI APIs, LangChain and many other tools.
We will build together different applications using streamlit as our UI and cloud deployment framework. Streamlit is known of its ease of use, and easy python coding.
Pre-requisities
Python
NLP
Generative AI Foundations
Transormers
Topics Covered
GenAI and LLM foundations
OpenAI API basics
ChatGPT Clone in Streamlit
Prompt Engineering
Agents
OpenAI Assistant API
LangChain
What you will learn
Understand the foundations of GenAI
Master OpenAI API Chat API
Build ChatGPT Clone with OpenAI API and Streamlit
Understand and apply Prompt Enigneering techniques
Practice with advanced OpenAI Assitants API and Function Calling
Get introduced to LangChain
Multi-modal GenAI and RAG Applications (Arabic)
This is Part 2 of the Practical GenAI Sequel.
The objective of the sequel is to prepare you to be a professional GenAI engineer/developer. I will take you from the ground-up in the realm of LLMs and GenAI, starting from the very basics to building working and production level apps.
The spirit of the sequel is to be “hands-on”. All examples are code-based, with final projects, built step-by-step either in python, Google Colab, and deployed in streamlit.
By the end of the courses sequel, you will have built chatgpt clone, Midjourney clone, Chat with your data app, Youtube assistant app, Ask YouTube Video, Study Mate App, Recommender system, Image Description App with GPT-V, Image Generation app with DALL-E and StableDiffusion, Video commentator app using Whisper and others.
We will cover prompt engineering approaches, and use them to build custom apps, that go beyond what ChatGPT knows. We will use OpenAI APIs, LangChain and many other tools.
We will build together different applications using streamlit as our UI and cloud deployment framework. Streamlit is known of its ease of use, and easy python coding.
With the power of GPT models, either by OpenAI, or opensource (like Llama or Mixtral on Huggingface), we will be able to build interesting applications, like chatting with your documents, chatting with youtube videos, building a state-of-the art recommender systems, video auto commentator and translator from one voice to another.
We will mix modalities, like Image with GPT-V and DALL-E, Text with ChatGPT: GPT3.5 and GPT4, and voice with Whisper.
We will be able to feed the AI models with our custom data, that is not available on the internet, and open models like ChatGPT do not know about. We will cover advanced and state-of-the art topics like RAG models, and LLM Agents.
Pre-requisities
Python
NLP
Transformers
Generative AI Foundations
Topics Covered
Chat with Your Data App
Retrieval Augmented Generation (RAG) model
Vector Databases
Chat with Youtube video
Build Recommender system with LLMs
Midjourney Clone App with Streamlit with DALL-E
Automatic Captions generation App with GPT-V
Automatic Voice-Over App with GPT-V and Whisper
Youtube translator App with Whisper and GPT-4
What you will learn
Build RAG models to augment LLM knowledge
Build multi-modal apps with different LLM models including Text, Speech and Image
Understand the different RAG components and Design Patterns
Design RAG systems and identify the best design choices for each application
Advanced Practical GenAI (Arabic)
This is part 3 of the Practical GenAI Sequel.
The objective of the sequel is to prepare you to be a professional GenAI engineer/developer. I will take you from the ground-up in the realm of LLMs and GenAI, starting from the very basics to building working and production level apps.
The spirit of the sequel is to be “hands-on”. All examples are code-based, with final projects, built step-by-step either in python, Google Colab, and deployed in streamlit.
By the end of the courses sequel, you will have built chatgpt clone, Midjourney clone, Chat with your data app, Youtube assistant app, Ask YouTube Video, Study Mate App, Recommender system, Image Description App with GPT-V, Image Generation app with DALL-E and StableDiffusion, Video commentator app using Whisper and others.
In this part you will work with different kinds of LLMs, being opensource or not. You will get exposed to GPT models by OpenAI, Llama models by Meta, Gemini and Bard by Google, Orca by Microsoft, Mixtral by Mistral AI and others.
You will use pre-trained models, and also finetune them on your own data.
We will learn about huggingface and use it for model finetuining using the Parameter Efficient Training or PEFT models. We will use Low-Rank Adaptation or LoRA for efficient training.
You will learn how to deploy a model in the cloud, or privately host it for privacy concerns of your company data.
You will learn how to use existing pre-trained models as teachers and use model distillation to train your custom version of the model.
Pre-requisities
Python
NLP
Transformers
Generative AI Foundations
Topics Covered
Huggingface Transformers Review
OpenSource LLMs: Llama 2, Mixtral and others
Privately hosted LLMs: GPT4all Clone with streamlit
Small Language Models (SLM)
LLM fine tuning with Huggningface using QLoRA
LLM finetuning with RLHF
GPT-3 Finetuning
LLM finetuning with Distillation
What you will learn
Build excellent knowledge of the underlying mechanics of transformers, LLMs